package com.yuyou.fn.wage.service;


import com.github.wens.framework.service.ISuperService;
import com.yuyou.fn.platform.permission.DataPermission;
import com.yuyou.fn.report.vo.ClassLectureDetailQueryVo;
import com.yuyou.fn.wage.entity.WageTeacherDollars;
import com.yuyou.fn.wage.vo.TeacherDollarsDetailVo;
import com.yuyou.fn.wage.vo.TeacherDollarsUpdateVo;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;

import java.util.List;

/**
 *
 * WageTeacherDollars 表数据服务层接口
 *
 */
public interface IWageTeacherDollarsService extends ISuperService<WageTeacherDollars,Long> {

    List<WageTeacherDollars> findWageTeacherDollars(List<Long> teacherIds, String startDate, String endDate);

    /**
    *@Description:根据外部兼职老师，讲次信息，生成兼职老师信息，判断信息是否确认，未确认的话需重新读取绩效系数工资账号。
    *@Param:
    *@return:
    *@Author: lzh
    *@date:
    */
    List<TeacherDollarsDetailVo> findTeacherDollarsDetailListByPermission(String payMonth, DataPermission dataPermission, ClassLectureDetailQueryVo classLectureDetailQueryVo, Integer confirmStatus);

    List<TeacherDollarsDetailVo> findAllTeacherDollarsDetailList(String payMonth,  ClassLectureDetailQueryVo classLectureDetailQueryVo, Integer confirmStatus);


    void updateTeacherDollars(TeacherDollarsUpdateVo teacherDollarsUpdateVo);

    void confirmTeacherDollars(List<Long> teacherDollarsIds);

    void cancelTeacherDollars(List<Long> teacherDollarsIds);

    SXSSFWorkbook exportWageTeacherDollars(String payMonth, DataPermission dataPermission, ClassLectureDetailQueryVo classLectureDetailQueryVo, Integer status);
}